//
//  ArrayList.c
//  algorithmDemo
//
//  Created by 李文深 on 16/7/10.
//  Copyright © 2016年 30pay. All rights reserved.
//

#include "ArrayList.h"
#include "FatalError.h"


Status getElem(SqList l, int i, ElemType *e) {
    
    
    if (i < 0 || i > l.length -1) {
        FatalError("查找索引非法");
        return ERROR;
    }
    
    *e = l.data[i];
    
    return OK;
}

Status insertElem(SqList *l, ElemType e ,int index) {
    
    if (index < 0 || index > l->length) {
        FatalError("插入索引非法");
        return ERROR;
    }
    
    if (l->length == MAXSIZE) {
        FatalError("顺序表容量已满");
        return ERROR;
    }
    
    for (int i = l->length; i > index; i--) {
        l->data[i] = l->data[i-1];
    }
    
    l->data[index] = e;
    l->length += 1;
    
    return OK;
}

Status deleteElement(SqList *l, int index) {
    
    if (index < 0 || index > (l->length-1)) {
        FatalError("删除索引非法");
        return ERROR;
    }
    
    for (int i = index; i < l->length; i++) {
        l->data[i] = l->data[i+1];
    }
    
    l->length -= 1;
    
    return OK;
}

void printArray(SqList l) {
    for (int i = 0; i < l.length; i++) {
        printf("%d\n",l.data[i]);
    }
}






